/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package utilitario;

import cadastro.funcionario;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import utilitario.Arquivo;

/**
 *
 * @author rodrig0x
 */
public class formEditaFuncionario extends javax.swing.JFrame {

    /**
     * Creates new form formEditaFuncionario
     */
    public formEditaFuncionario() {
        initComponents();



    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        txttelefone = new javax.swing.JTextField();
        lblnome = new javax.swing.JLabel();
        lbltelefone = new javax.swing.JLabel();
        lbllogin = new javax.swing.JLabel();
        lblidentidade = new javax.swing.JLabel();
        lblendereco = new javax.swing.JLabel();
        txtidentidade = new javax.swing.JTextField();
        txtcpf = new javax.swing.JTextField();
        txtnome = new javax.swing.JTextField();
        txtlogin = new javax.swing.JTextField();
        cboxsexo = new javax.swing.JComboBox();
        lblcpf = new javax.swing.JLabel();
        lblsexo = new javax.swing.JLabel();
        lblcargo = new javax.swing.JLabel();
        cboxcargo = new javax.swing.JComboBox();
        lblsalario = new javax.swing.JLabel();
        txtsalario = new javax.swing.JTextField();
        txtid = new javax.swing.JTextField();
        lblid = new javax.swing.JLabel();
        lblsenha = new javax.swing.JLabel();
        txtsenha = new javax.swing.JPasswordField();
        lblconfirmarsenha = new javax.swing.JLabel();
        txtconfirmarsenha = new javax.swing.JPasswordField();
        txtendereco = new javax.swing.JTextField();
        btnLimpar = new javax.swing.JButton();
        btnOk = new javax.swing.JButton();
        btnCancelar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Editar Funcionario");
        setMinimumSize(new java.awt.Dimension(400, 600));
        setName("Editar"); // NOI18N
        setResizable(false);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowOpened(java.awt.event.WindowEvent evt) {
                formWindowOpened(evt);
            }
        });
        getContentPane().setLayout(null);

        txttelefone.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        getContentPane().add(txttelefone);
        txttelefone.setBounds(240, 50, 120, 30);

        lblnome.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblnome.setText("Nome:");
        getContentPane().add(lblnome);
        lblnome.setBounds(40, 30, 35, 14);

        lbltelefone.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lbltelefone.setText("Telefone:");
        getContentPane().add(lbltelefone);
        lbltelefone.setBounds(240, 30, 60, 14);

        lbllogin.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lbllogin.setText("Login:");
        getContentPane().add(lbllogin);
        lbllogin.setBounds(40, 330, 40, 14);

        lblidentidade.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblidentidade.setText("Identidade:");
        getContentPane().add(lblidentidade);
        lblidentidade.setBounds(210, 150, 80, 14);

        lblendereco.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblendereco.setText("Endreço:");
        getContentPane().add(lblendereco);
        lblendereco.setBounds(40, 90, 60, 14);

        txtidentidade.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        getContentPane().add(txtidentidade);
        txtidentidade.setBounds(210, 170, 150, 30);

        txtcpf.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        getContentPane().add(txtcpf);
        txtcpf.setBounds(40, 170, 150, 30);

        txtnome.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        getContentPane().add(txtnome);
        txtnome.setBounds(40, 50, 180, 30);

        txtlogin.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        getContentPane().add(txtlogin);
        txtlogin.setBounds(40, 350, 300, 30);

        cboxsexo.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        cboxsexo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Feminino", "Masculino" }));
        getContentPane().add(cboxsexo);
        cboxsexo.setBounds(40, 230, 120, 30);

        lblcpf.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblcpf.setText("CPF");
        getContentPane().add(lblcpf);
        lblcpf.setBounds(40, 150, 20, 14);

        lblsexo.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblsexo.setText("Sexo:");
        getContentPane().add(lblsexo);
        lblsexo.setBounds(40, 210, 40, 14);

        lblcargo.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblcargo.setText("Cargo:");
        getContentPane().add(lblcargo);
        lblcargo.setBounds(180, 210, 40, 14);

        cboxcargo.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        cboxcargo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Vendedor", "Contador", "Gerente", " " }));
        getContentPane().add(cboxcargo);
        cboxcargo.setBounds(180, 230, 120, 30);

        lblsalario.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblsalario.setText("Salário:");
        getContentPane().add(lblsalario);
        lblsalario.setBounds(40, 270, 50, 14);

        txtsalario.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        getContentPane().add(txtsalario);
        txtsalario.setBounds(40, 290, 150, 30);

        txtid.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        getContentPane().add(txtid);
        txtid.setBounds(210, 290, 150, 30);

        lblid.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblid.setText("ID (apenas números)");
        getContentPane().add(lblid);
        lblid.setBounds(210, 270, 130, 14);

        lblsenha.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblsenha.setText("Senha:");
        getContentPane().add(lblsenha);
        lblsenha.setBounds(40, 390, 40, 14);

        txtsenha.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        getContentPane().add(txtsenha);
        txtsenha.setBounds(40, 410, 300, 30);

        lblconfirmarsenha.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        lblconfirmarsenha.setText("Confirmar Senha:");
        getContentPane().add(lblconfirmarsenha);
        lblconfirmarsenha.setBounds(40, 450, 110, 14);

        txtconfirmarsenha.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        getContentPane().add(txtconfirmarsenha);
        txtconfirmarsenha.setBounds(40, 470, 300, 30);

        txtendereco.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        getContentPane().add(txtendereco);
        txtendereco.setBounds(40, 110, 300, 30);

        btnLimpar.setText("Limpar");
        getContentPane().add(btnLimpar);
        btnLimpar.setBounds(270, 530, 90, 30);

        btnOk.setText("OK");
        btnOk.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnOkActionPerformed(evt);
            }
        });
        getContentPane().add(btnOk);
        btnOk.setBounds(50, 530, 90, 30);

        btnCancelar.setText("Cancel");
        getContentPane().add(btnCancelar);
        btnCancelar.setBounds(160, 530, 90, 30);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened
        txtnome.setText(funcEditar.getNome());
        txttelefone.setText(funcEditar.getTelefone());
        txtendereco.setText(funcEditar.getEndereco());
        txtcpf.setText(funcEditar.getCpf());
        txtidentidade.setText(funcEditar.getIdentidade());
        txtsalario.setText(funcEditar.getSalario() + "");
        txtid.setText(funcEditar.getId() + "");
        txtlogin.setText(funcEditar.getLogin());
        txtsenha.setText(funcEditar.getSenha());
        txtconfirmarsenha.setText(funcEditar.getSenha());
    }//GEN-LAST:event_formWindowOpened

    private void btnOkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnOkActionPerformed
        System.exit(0);
        funcEditar.setNome(txtnome.getText());
        funcEditar.setTelefone(txttelefone.getText());
        funcEditar.setEndereco(txtendereco.getText());
        funcEditar.setCpf(txtcpf.getText());
        funcEditar.setIdentidade(txtidentidade.getText());
        funcEditar.setLogin(txtlogin.getText());
        funcEditar.setCargo(cboxcargo.getSelectedIndex() + "");
        funcEditar.setSenha(cboxsexo.getSelectedIndex() + "");
        if ((txtsenha.getText().equals(txtconfirmarsenha.getText()) == true) && (txtsalario.getText().equals("") == false) && (txtid.getText().equals("") == false)) {
            funcEditar.setSenha(txtsenha.getText());
            funcEditar.setSalario(Double.parseDouble(txtsalario.getText()));
            funcEditar.setId(Integer.parseInt(txtid.getText()));
            if (Funcionario.isCadastravel(lista, funcEditar) == true) {
                Arquivo.armazenarFuncionarioTemporariamente(lista);

            }
        }
    }//GEN-LAST:event_btnOkActionPerformed

   
    
    /**
     * @param args the command line arguments
     */
    //pega lista de funcionarios, funcionario a ser editado e a posição na lista
    public void getEditFuncionario(ArrayList<Funcionario> l, Funcionario func, int posicao) {
        lista = l;
        funcEditar = func;
        pos = posicao;
    }

    public void confirmarInformacoes() {
        if ((funcEditar.getNome().equals("") == false) && (funcEditar.getTelefone().equals("") == false) && (funcEditar.getEndereco().equals("") == false)
                && (funcEditar.getCpf().equals("") == false) && (funcEditar.getIdentidade().equals("") == false)
                && (funcEditar.getLogin().equals("") == false) && (Funcionario.loginExistente(lista, funcEditar.getLogin()) == false)) {
            JOptionPane.showMessageDialog(null, "Tudo certo");
        }
    }

    public static void main(String[] args) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(formEditaFuncionario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(formEditaFuncionario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(formEditaFuncionario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(formEditaFuncionario.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new formEditaFuncionario().setVisible(true);
            }
        });

    }
    //variaveis globais para a manipulação dos dados
    public static ArrayList<Funcionario> lista = new ArrayList<>();
    public static Funcionario funcEditar;
    public static int pos;
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnCancelar;
    private javax.swing.JButton btnLimpar;
    private javax.swing.JButton btnOk;
    private javax.swing.JComboBox cboxcargo;
    private javax.swing.JComboBox cboxsexo;
    private javax.swing.JLabel lblcargo;
    private javax.swing.JLabel lblconfirmarsenha;
    private javax.swing.JLabel lblcpf;
    private javax.swing.JLabel lblendereco;
    private javax.swing.JLabel lblid;
    private javax.swing.JLabel lblidentidade;
    private javax.swing.JLabel lbllogin;
    private javax.swing.JLabel lblnome;
    private javax.swing.JLabel lblsalario;
    private javax.swing.JLabel lblsenha;
    private javax.swing.JLabel lblsexo;
    private javax.swing.JLabel lbltelefone;
    private javax.swing.JPasswordField txtconfirmarsenha;
    private javax.swing.JTextField txtcpf;
    private javax.swing.JTextField txtendereco;
    private javax.swing.JTextField txtid;
    private javax.swing.JTextField txtidentidade;
    private javax.swing.JTextField txtlogin;
    private javax.swing.JTextField txtnome;
    private javax.swing.JTextField txtsalario;
    private javax.swing.JPasswordField txtsenha;
    private javax.swing.JTextField txttelefone;
    // End of variables declaration//GEN-END:variables
}
